Technical Field
The embodiments disclosed herein relate to integrated circuits, and more particularly, to processors and floating point number units.
Description of the Related Art
Processors are used in in a variety of applications ranging from desktop computers to cellular telephones. In some applications, multiple processors or processor cores, may be connected together so that computation tasks may be shared among the various processors. Whether used individually, or as part of group, processors make use of sequential logic circuits, internal memory, and the like, to execute program instructions and operate on input data, which may be represented in a binary numeral system. Processors are often characterized by the size of individual data objects, such as, 16-bits, for example.
Modern processors typically include various functional blocks, each with a dedicated task. For example, a processor may include and instruction fetch unit, a memory management unit, and an arithmetic logic unit (ALU). An instruction fetch unit may prepare program instructions for execution by decoding the program instructions and checking for scheduling hazards, while arithmetic operations such as addition, subtraction, and Boolean operations (e.g., AND, OR, etc.) may be performed by an ALU. Some processors include high-speed memory (commonly referred to as “cache memories” or “caches”) used for storing frequently used instructions or data.
As the size of data objects increased, numbers could be represented in different formats allowing for greater precision and accuracy. The processing of such data objects may require multiple program instructions in order to complete a desired function. For example, in some bit slice applications, by executing multiple program instructions over multiple processing cycles on a processor designed process 16-bit data objects, a 32-bit data object may be processed.
Some processors may employ coprocessors, or other dedicated hardware, to perform more complicated arithmetic operations, such as, floating-point multiplication for example. Such coprocessors may be fabricated on a separate integrated circuit chip, or may be included as a separate functional block within a processor. While the use of dedicated arithmetic hardware may result in improved computation performance in some applications, the format of numbers being processed may be specific to a given hardware implementation. In such cases, additional program instructions may be required to allow different processor hardware to operate on a common set of data objects.